//package com.wcj.stack;
//
//
//import java.util.Stack;
//
///**
// * 给定一个经过编码的字符串，返回它解码后的字符串。
// *
// * 编码规则为: k[encoded_string]，表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。
// *
// * 你可以认为输入字符串总是有效的；输入字符串中没有额外的空格，且输入的方括号总是符合格式要求的。
// *
// * 此外，你可以认为原始数据不包含数字，所有的数字只表示重复的次数 k ，例如不会出现像 3a 或 2[4] 的输入。
// */
//public class 字符串解码 {
//
//
//    public String decodeString(String s) {
//        char pre;
//        char cur;
//        Stack<String> stack = new Stack<>();
//        for (int i = 0; i < s.length();i++){
//            cur = s.charAt(i);
//            if (cur == '['){
//                pre = s.charAt(i - 1);
//                stack.push(String.valueOf(pre));
//                stack.push(String.valueOf(cur));
//                int j;
//                String tmp = "";
//                for (j = i + 1; j < s.length();j++){
//                    if (s.charAt(j) != ']'){
//                        stack.push(String.valueOf(s.charAt(j)));
//                    }else {
//                        while (true){
//                            String pop = stack.pop();
//                            if (!pop.equals('[')){
//                                tmp += pop;
//                            }else {
//                                int i1 = Integer.parseInt(stack.pop().toString());
//                                for (;i1 > 0;i--) {
//                                    tmp += tmp;
//                                }
//                            }
//                        }
//                        stack.pop();
//                        stack.pop();
//                    }
//                }
//
//            }
//        }
//        return "";
//    }
//}
